home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 February / PCWFEB08.iso / Software / Freeware / Miro 1.0 / Miro_Installer.exe / Miro_Downloader.exe / test / databasesanitytest.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2007-11-12  |  2.8 KB  |  87 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. """Test database sanity checking.  Right now this is pretty short because we
  5. don't do that much sanity checking.
  6. """
  7. import os
  8. import tempfile
  9. import unittest
  10. import iconcache
  11. import item
  12. import feed
  13. import databasesanity
  14. import database
  15. import util
  16. from test.framework import DemocracyTestCase
  17.  
  18. class SanityCheckingTest(DemocracyTestCase):
  19.     
  20.     def setUp(self):
  21.         DemocracyTestCase.setUp(self)
  22.         self.savePath = tempfile.mktemp()
  23.         self.utilDotFailedOkay = True
  24.  
  25.     
  26.     def tearDown(self):
  27.         
  28.         try:
  29.             os.unlink(self.savePath)
  30.         except OSError:
  31.             pass
  32.  
  33.         util.failed = self.oldUtilDotFailed
  34.         DemocracyTestCase.tearDown(self)
  35.  
  36.     
  37.     def checkObjectListFailsTest(self, objectList):
  38.         self.assertRaises(databasesanity.DatabaseInsaneError, databasesanity.checkSanity, objectList, False)
  39.  
  40.     
  41.     def checkFixIfPossible(self, startList, fixedList):
  42.         self.failedCalled = False
  43.         rv = databasesanity.checkSanity(startList)
  44.         self.assertEquals(startList, fixedList)
  45.         self.assertEquals(rv, False)
  46.         self.assertEquals(self.failedCalled, True)
  47.  
  48.     
  49.     def checkObjectListPassesTest(self, objectList):
  50.         databasesanity.checkSanity(objectList)
  51.  
  52.     
  53.     def testPhantomFeedChecking(self):
  54.         f = feed.Feed(u'http://feed.uk')
  55.         i = item.Item({ }, feed_id = f.id)
  56.         i2 = item.FileItem('/foo/bar.txt', feed_id = f.id)
  57.         self.checkObjectListFailsTest([
  58.             i])
  59.         self.checkFixIfPossible([
  60.             i,
  61.             i2], [])
  62.         self.checkObjectListPassesTest([
  63.             i,
  64.             f])
  65.         self.checkObjectListPassesTest([])
  66.  
  67.     
  68.     def testManualFeedChecking(self):
  69.         f = feed.Feed(u'dtv:manualFeed')
  70.         f2 = feed.Feed(u'dtv:manualFeed')
  71.         f3 = feed.Feed(u'dtv:manualFeed')
  72.         self.checkObjectListPassesTest([
  73.             f])
  74.         self.checkObjectListFailsTest([
  75.             f,
  76.             f2])
  77.         self.failedCalled = False
  78.         testList = [
  79.             f,
  80.             f2,
  81.             f3]
  82.         databasesanity.checkSanity(testList)
  83.         self.assertEquals(len(testList), 1)
  84.         self.assertEquals(self.failedCalled, True)
  85.  
  86.  
  87.